#ifndef __LOGGER_H__
#define __LOGGER_H__

#include "stdint.h"
#include <string.h>
#include <inttypes.h>

/* -------------------------------------------------------------------------- */

#ifdef __cplusplus
extern "C" {
#endif

/* ===== TYPEDEFS =========================================================== */

/* -------------------------------------------------------------------------- */
#define MAX_MESSAGE_LENGTH 256
/* -------------------------------------------------------------------------- */

/* ===== LOG MACROS ========================================================= */

#define LOG                         logger

/* -------------------------------------------------------------------------- */

/* -------------------------------------------------------------------------- */

/* ===== PROTOTYPES ========================================================= */

void logger(const char* format, ...);
void logger_init(void(*write_fn)(const uint8_t *data, uint32_t size));

/* -------------------------------------------------------------------------- */

#ifdef __cplusplus
}
#endif

#endif /*__LOGGER_H__*/
